import axios from "axios";
import { ElMessage } from "element-plus";
import router from "../router";


//创建axios实例对象，设置默认配置
const request = axios.create({
    baseURL:'/api',
    timeout:5000,

});

//axios的请求 request拦截器 --获取localStorage中的token,设置到请求头中
request.interceptors.request.use(
    (config) => {//成功回调
        const loginUser = JSON.parse(localStorage.getItem('loginUser'));
        if(loginUser && loginUser.token){//如果有token,设置到请求头中
            config.headers.token = loginUser.token;
        }
        return config
    },
    (error) =>{//失败回调
     return Promise.reject(error)
    }
)


//axios的响应 response拦截器
request.interceptors.response.use(
    (response) => {//成功回调
        return response.data
    },
    (error) =>{//失败回调
        if(error.response.status == 401){//token过期，跳转到登录页面
            //提示信息
            ElMessage.error('登录信息已过期，请重新登录！')  
            //跳转到登录页面
            router.push('/login')  
        }else{
            ElMessage.error("接口访问异常！")
        }
     return Promise.reject(error)   
    }
)
export default request